﻿using MugenMvvmToolkit.Interfaces.ViewModels;

namespace MugenMvvmToolkit.Interfaces.Views
{
    /// <summary>
    ///     Represent the base interface for view.
    /// </summary>
    public interface IView
    {
        /// <summary>
        ///     Gets or sets the data context of <see cref="IView" />.
        /// </summary>
        object DataContext { get; set; }
    }

    /// <summary>
    ///     Adds support for the view-model in view.
    /// </summary>
    public interface IView<TViewModel> : IView where TViewModel : IViewModel
    {
        /// <summary>
        ///     Gets or sets the view-model.
        /// </summary>
        TViewModel ViewModel { get; set; }
    }
}